package com.xiaoshuidi.cloud.module.system.api.sms.dto.send;

import com.xiaoshuidi.cloud.framework.common.validation.Mobile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.util.Map;
import java.util.Set;

/**
 * RPC 服务 - 短信发送给 Admin 或者 Member 用户 Request DTO
 */
@Schema(description = "RPC 服务 - 短信发送给 Admin 或者 Member 用户 Request DTO")
@Data
public class SmsSendSingleToUserReqDTO {

    /**
     * 用户编号
     */
    @Schema(description = "用户编号", example = "1024")
    private Long userId;
    /**
     * 手机号
     */
    @Schema(description = "手机号", required = true, example = "15601691300")
    @Mobile
    private String mobile;

    /**
     * 短信模板编号
     */
    @Schema(description = "短信模板编号", required = true, example = "USER_SEND")
    @NotEmpty(message = "短信模板编号不能为空")
    private String templateCode;
    /**
     * 短信模板参数
     */
    @Schema(description = "短信模板参数")
    private Map<String, Object> templateParams;
    /**
     * 需要生成短链接的参数名
     */
    @Schema(description = "需要生成短链接的参数名")
    private Set<String> shortUrlParamName;

}